﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ContaTelefone.Data
{
    public class CENTRO_CUSTORepository
    {
        ContaTelefoneEntities entity;
        
        public CENTRO_CUSTORepository()
        {
            entity = ContaTelefoneContext.getInstance();
        }

        public IQueryable<CENTRO_CUSTO> GetCENTRO_CUSTOs()
        {
            return ContaTelefoneContext.getInstance().CENTRO_CUSTO;
        }

        public IList<CENTRO_CUSTO> GetAll()
        {
            return ContaTelefoneContext.getInstance().CENTRO_CUSTO.ToList();
        }

        public CENTRO_CUSTO getCENTRO_CUSTO(string COD_CCUS)
        {
            return entity.CENTRO_CUSTO.SingleOrDefault(a => a.COD_CCUS == COD_CCUS);
        }

        public void Update()
        {
            try
            {
                entity.SaveChanges();
            }
            catch (Exception ex)
            {
                ContaTelefoneContext.removeInstance();
                throw ex;
            }
        }

        public void Add(CENTRO_CUSTO bCENTRO_CUSTO)
        {
            try
            {
                entity.AddToCENTRO_CUSTO(bCENTRO_CUSTO);
                entity.SaveChanges();
            }
            catch (Exception ex)
            {
                ContaTelefoneContext.removeInstance();
                throw ex;
            }
        }

        public void Delete(CENTRO_CUSTO pCENTRO_CUSTO)
        {
            entity.CENTRO_CUSTO.DeleteObject(pCENTRO_CUSTO);
            entity.SaveChanges();
        }
    }
}
